package TI;

import java.util.List;

import Exceptions.NoProductsSelectedException;
import Exceptions.ProductSalesPriceNeverSetException;
import Magnitudes.Money;
import Magnitudes.Pesos;
import Products.Presentation;

public class ParticularCustomer extends Customer{

	
	private String cuit;
	private String nameNSurname;
	private String emailAddress;
	private Address homeAddress;
	private Address deliveryAddress;
	private Pesos currentAccount;
	
	
	
	public ParticularCustomer(String cuit, String nameNSurname, String emailAddress, Address address) {
		this.cuit = cuit;
		this.nameNSurname = nameNSurname;
		this.emailAddress = emailAddress;
		this.homeAddress = address;
		this.deliveryAddress = address;
		this.currentAccount = new Pesos(0);
	}
	
	
	

	public String getCuit() {
		return this.cuit;
	}



	public String getNameNSurname() {
		return this.nameNSurname;
	}

	

	public String getEmailAddress() {
		return this.emailAddress;
	}



	public Address getHomeAddress() {
		return this.homeAddress;
	}



	public Address getDeliveryAddress() {
		return this.deliveryAddress;
	}



	public Pesos getCurrentAccountAmount() {
		return this.currentAccount;
	}




	public boolean isEquals(Customer customer) {
		return (this.getCuit() == customer.getCuit());
	}




	public void setDeliveryAddress(Address anotherAddress) {
		this.deliveryAddress = anotherAddress;
	}




	public void returnProduct(Presentation presentation,
			BranchOffice branchOffice) throws ProductSalesPriceNeverSetException {
		branchOffice.returnProduct(this, presentation);
		
	}




	public void setCurrentAccountAmount(Money unitSalesPrice) {
		this.currentAccount = this.currentAccount.add(unitSalesPrice);
		
	}




	public String getEmail() {
		return this.getEmailAddress();
	}

	public void removeMeFromOffers(BranchOffice aBranchOffice){
		aBranchOffice.removeMailSuscriptionFor(this);
	}

	



	
	
	
	
	
	
	
	

}
